import java.io.File;
import java.io.IOException;

import jxl.Workbook;
import jxl.Sheet;
import jxl.Cell;
import jxl.read.biff.BiffException;

/**
 * @author Tiina, Chris, Lauri
 *
 * Luokka, joka lukee Excel-tiedostoa.
 */

public class ExcelReader {
	private Sheet sheet;


	public ExcelReader() {
		System.out.println("ExcelReader...");
		Workbook workbook;
		try {
			workbook = Workbook.getWorkbook(new File("destinations.xls"));
			this.sheet = workbook.getSheet(0);
			System.out.println("OK!");
		} catch (BiffException e) {
			e.printStackTrace();
			System.err.println("Joku ihmeen BiffException kuulemma. -t excelreader");
		} catch (IOException e) {
			e.printStackTrace();
			System.err.println("destinations.xlsx not found!");
		}
	}
	
	
	/**
	 * Haetaan Excel-tiedostosta kaupungin mapatyt x- ja y-koordinaatit ja lennon arvioidun keston.
	 * 
	 * @param kaupunki
	 * @return int[] array
	 * alkio[0] maaranpaan x-koordinaatti,
	 * [1] y-koordinaatti, 
	 * [2] lennon arvioitu kesto
	 */
	public int[] annaTiedot(String kaupunki) {
		//Käydään for-loopilla läpi rivejä, kunnes löydetään oikea kaupunki
		for (int i = 0; i < sheet.getRows(); i++) {
			Cell cell = sheet.getCell(0, i);
			String city = cell.getContents();
			if (city.equalsIgnoreCase(kaupunki)) {

				int x = Integer.parseInt(sheet.getCell(1,i).getContents());
				int y = Integer.parseInt(sheet.getCell(2,i).getContents());
				int time = Integer.parseInt(sheet.getCell(3,i).getContents());
				int[] lentotiedot = {x,y,time};
				return lentotiedot;
			}
		}
		System.out.println("Kaupunkia "+kaupunki+" ei loytynyt excel-listasta!");
		return null;
	}

	/*public static void main(String args[]) { 	Testimetodi
		ExcelReader asdf = new ExcelReader();
		int[] taulukko = asdf.annaTiedot("London");
		System.out.println(taulukko[0]+ "  "+ taulukko[1]+ "   " + taulukko[2]);
	}*/

}
